Test-Driven Development as a Defect-Reduction Practice
نویسندگان
چکیده
Test-driven development is a software development practice that has been used sporadically for decades. With this practice, test cases (preferably automated) are incrementally written before production code is implemented. Test-driven development has recently reemerged as a critical enabling practice of the Extreme Programming software development methodology. We ran a case study of this practice at IBM. In the process, a thorough suite of automated test cases was produced. In this case study, we found that the code developed using a test-driven development practice showed, during functional verification and regression tests, approximately 40% fewer defects than a baseline prior product developed in a more traditional fashion. The productivity of the team was not impacted by the additional focus on producing automated test cases. This test suite will aid in future enhancements and maintenance of this code. The experiment and the results are discussed in detail.
منابع مشابه
Closing the Defect Reduction Gap between Software Inspection and Test-Driven Development: Applying Mutation Analysis to Iterative, Test-First Programming
After demonstrating the existence of a defect reduction gap between software inspection and test-driven development (TDD), this dissertation will present and evaluate a method of applying mutation analysis to iterative, test-first (ITF) programming methods such as TDD. The application of mutation analysis will add important stopping criteria to ITF programming, while capitalizing on the iterati...
متن کاملA Longitudinal Study of the Use of a Test-Driven Development Practice in Industry
Test-Driven Development (TDD) is an agile practice that is widely accepted and advocated by most agile methods and methodologists. In this paper, we report on a longitudinal case study of an IBM team who has sustained use of TDD for five years and over ten releases of a Java-implemented product. The team worked from a design and wrote tests incrementally before or while they wrote code and, in ...
متن کاملIntroducing Software Test Automation and Test-Driven Development: An Experience Report
1 Dept. of Software Engineering and Computer Science, Blekinge Institute of Technology, Box 520, SE-372 25 Ronneby, Sweden. 2 Ericsson AB, Soft Center, SE-372 25 Ronneby, Sweden. Abstract This paper identifies and presents an approach to software component-level testing that in a cost effective way can move defect detection earlier in the development process. The approach includes a test automa...
متن کاملEffectiveness of TDD on Unit Testing Practice
Background: Several studies report that test driven development (TDD) has effects on the software product e.g. code quality and developers’ productivity. In recent literature reviews, the impact of TDD on source code quality is seen as a more focused area in empirical research compared to unit testing. However, the quality of production code is tightly coupled with the quality of test code. Obj...
متن کاملSoftware Architecture Improvement through Test-Driven Development: An Empirical Study
Despite a half century of advances, the software construction industry still shows signs of immaturity. Professional software development organizations continue to struggle to produce reliable software in a predictable and repeatable manner. While a variety of development practices are advocated that might improve the situation, developers are often reluctant to adopt new, potentially better pr...
متن کامل